From 2251ccb98d59d83a79376c237b1447f63bbc9b41 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Thu, 9 Feb 2006 00:13:46 +0100 Subject: [PATCH] Attached patch for svm will enable a tlb flush for each vmrun. Setting the tbl_control flag to 1 in the vmcb, causes a complete tlb flush on this core. We have seen issues (blue screens) when utilizing ASID granularity with WinxpSP1 running on cores>0. we have found that flushing the TLBs each vmrun alleviates winxpsp1 crashes. We have also sometimes seen a substantial performance improvement(!) when flushing each vmrun, which was completely unexpected. We are continuing to investigate root cause, but for the moment, we would like to just flush each vmrun. Digging around in the SPT code might be necessary here also. Signed-off-by: Tom Woller --- xen/arch/x86/hvm/svm/svm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c index ba99592b6f..b7bccf9b99 100644 --- a/xen/arch/x86/hvm/svm/svm.c +++ b/xen/arch/x86/hvm/svm/svm.c @@ -2317,7 +2317,7 @@ asmlinkage void svm_vmexit_handler(struct cpu_user_regs regs) save_svm_cpu_user_regs(v, ®s); v->arch.hvm_svm.injecting_event = 0; - vmcb->tlb_control = 0; + vmcb->tlb_control = 1; #ifdef SVM_EXTRA_DEBUG { -- 2.30.2